Two sum: 

Aim: [1, 2, 3] and target sum: 3

1. Brute force approach: 2 for loops: time: O(n^2) and space: O(1)

1, 3, 2, 2 and target sum: 3
seen:
1
3

1, 2, 2, 3
|     |
left  right

2. Sorting based approach: time: O(nlog2(n)) and space: O(log2(n))
3. Set-based approach: time: O(n) and space: O(n)

Median finder: LeetCode 295

1	2	3 --> median = 2 (odd number of values)
1	2	2	4 --> median = (2 + 2) / 2 = 2 (Even number of values)



Two PQs: 

Lowers	(Max-heap)		Highers (Min-heap)

0 1	2	3		4	5 	6		

-1







